package com.atguigu.gulimall.search.vo;

import com.atguigu.common.to.es.SkuEsModel;
import lombok.Data;

import java.util.ArrayList;
import java.util.List;

/**
 * 点击搜索 或 选择搜索条件后：响应给页面的数据
 * @description
 * @author: wei-xhh
 * @create: 2020-07-12
 **/
@Data
public class SearchResult {

    //查询到的所有商品信息
    private List<SkuEsModel> products;

    /**
     * 以下是分页信息
     */
    private Integer pageNum; //当前页码
    private Long total; //总记录数
    private Integer totalPages; //总页码
    private List<Integer> pageNavs; //上一页下一页中间的页码

    private List<BrandVo> brands; //点击搜索 或 选择搜索条件后：当前查询到的结果，所有涉及到的品牌
    private List<CatalogVo> catalogs; //点击搜索 或 选择搜索条件后：当前查询到的结果，所有涉及到的分类
    private List<AttrVo> attrs; //点击搜索 或 选择搜索条件后：当前查询到的结果，所有涉及到的属性


    //面包屑导航数据
    private List<NavVo> navs = new ArrayList<>();

    //用于存储点击筛选属性条件后，显示在面包屑中的属性id
    private List<Long> attrIds = new ArrayList<>();//用于页面判断点击属性的筛选条件后，显示在面包屑中，然后不显示在属性筛选里

    @Data
    public static class NavVo{
        private String navName;
        private String navValue;
        private String link;//点击取消面包屑后跳转的地址
    }

    @Data
    public static class BrandVo {
        private Long brandId;
        private String brandName;
        private String brandImg;
    }

    @Data
    public static class CatalogVo {
        private Long catalogId;
        private String catalogName;
    }

    @Data
    public static class AttrVo {
        private Long attrId;
        private String attrName;
        private List<String> attrValue;
    }

}
